package com.coocaa.ops.common.core.base;


import com.coocaa.ops.common.core.base.mapper.IBaseMapper;
import com.coocaa.ops.common.core.base.model.PageResultModel;


import java.util.List;
import java.util.Map;

/**
 * @author bijiahao
 * @date : 2018/9/6.
 * @description
 */
public interface IBaseBiz<M extends IBaseMapper<T>,T> {
    /**
     * 批量保存
     *
     * @param entityList
     * @return
     */
    boolean insertBatch(List<T> entityList);
    /**
     * 批量保存-避免空值
     *
     * @param entityList
     */
    void saveBatchAvoidEmpty(List<T> entityList);

    /**
     * 分页数据查询
     *
     * @param params
     * @param isQueryRls
     * @return
     */
    PageResultModel<T> getCommonPageList(Map<String, Object> params, boolean isQueryRls);

    /**
     * 新增
     *
     * @param entity
     * @return
     */
    T add(T entity);

    /**
     * 更新-根据自增ID
     *
     * @param entity
     * @return
     */
    T updateById(T entity);

    /**
     * 查询-根据自增ID
     *
     * @param id
     * @return
     */
    T queryById(Integer id);

    M getMapper();
}
